// ******************************************************************************
// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  jpgd_cfg_c_union_define.h
// Project line  :
// Department    :  K3
// Version       :  1.0
// Date          :  2013/5/31
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V4.2
// History       :  2018/03/16 17:38:28 Create file
// ******************************************************************************

#ifndef __JPGD_CFG_C_UNION_DEFINE_H__
#define __JPGD_CFG_C_UNION_DEFINE_H__

/* Define the union U_JPEG_DEC_START */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ck_gt_en     : 1  ; /* [31] */
        unsigned int    rsv_0        : 30  ; /* [30:1] */
        unsigned int    decode_start : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_JPEG_DEC_START;

/* Define the union U_PREFTCH_CTRL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_1           : 6  ; /* [31:26] */
        unsigned int    prefetch_delay  : 10  ; /* [25:16] */
        unsigned int    rsv_2           : 15  ; /* [15:1] */
        unsigned int    prefetch_bypass : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_PREFTCH_CTRL;

/* Define the union U_FRAME_SIZE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    pix_height : 16  ; /* [31:16] */
        unsigned int    pix_width  : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FRAME_SIZE;

/* Define the union U_CROP_HORIZONTAL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    pix_end_hor   : 16  ; /* [31:16] */
        unsigned int    pix_start_hor : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CROP_HORIZONTAL;

/* Define the union U_CROP_VERTICAL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    pix_end_ver   : 16  ; /* [31:16] */
        unsigned int    pix_start_ver : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CROP_VERTICAL;

/* Define the union U_BITSTREAMS_START_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_3                : 30  ; /* [31:2] */
        unsigned int    bitstr_start_addr_34 : 2  ; /* [1:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_BITSTREAMS_START_H;

/* Define the union U_BITSTREAMS_START_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    bitstr_start_addr_32 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_BITSTREAMS_START_L;

/* Define the union U_BITSTREAMS_END_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_4              : 30  ; /* [31:2] */
        unsigned int    bitstr_end_addr_34 : 2  ; /* [1:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_BITSTREAMS_END_H;

/* Define the union U_BITSTREAMS_END_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    bitstr_end_addr_32 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_BITSTREAMS_END_L;

/* Define the union U_FRAME_START_Y */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_5        : 2  ; /* [31:30] */
        unsigned int    start_addr_y : 30  ; /* [29:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FRAME_START_Y;

/* Define the union U_FRAME_STRIDE_Y */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_6       : 1  ; /* [31] */
        unsigned int    last_page_y : 19  ; /* [30:12] */
        unsigned int    stride_y    : 12  ; /* [11:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FRAME_STRIDE_Y;

/* Define the union U_FRAME_START_C */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_7        : 2  ; /* [31:30] */
        unsigned int    start_addr_c : 30  ; /* [29:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FRAME_START_C;

/* Define the union U_FRAME_STRIDE_C */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_8       : 1  ; /* [31] */
        unsigned int    last_page_c : 19  ; /* [30:12] */
        unsigned int    stride_c    : 12  ; /* [11:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FRAME_STRIDE_C;

/* Define the union U_LBUF_START_ADDR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_9         : 2  ; /* [31:30] */
        unsigned int    start_addr_lb : 30  ; /* [29:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_LBUF_START_ADDR;

/* Define the union U_OUTPUT_TYPE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_10      : 16  ; /* [31:16] */
        unsigned int    rgb_alpha   : 8  ; /* [15:8] */
        unsigned int    rsv_11      : 3  ; /* [7:5] */
        unsigned int    uv_swap     : 1  ; /* [4] */
        unsigned int    output_type : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_OUTPUT_TYPE;

/* Define the union U_FREQ_SCALE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_12     : 30  ; /* [31:2] */
        unsigned int    freq_scale : 2  ; /* [1:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FREQ_SCALE;

/* Define the union U_MIDDLE_FILTER */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_13     : 30  ; /* [31:2] */
        unsigned int    ver_mid_en : 1  ; /* [1] */
        unsigned int    hor_mid_en : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_MIDDLE_FILTER;

/* Define the union U_SAMPLING_FACTOR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_14 : 8  ; /* [31:24] */
        unsigned int    y_fac  : 8  ; /* [23:16] */
        unsigned int    u_fac  : 8  ; /* [15:8] */
        unsigned int    v_fac  : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SAMPLING_FACTOR;

/* Define the union U_DRI */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_15 : 16  ; /* [31:16] */
        unsigned int    dri    : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DRI;

/* Define the union U_OVER_TIME_THD */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    over_time_thr : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_OVER_TIME_THD;

/* Define the union U_HOR_PHASE0_COEF01 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_16           : 6  ; /* [31:26] */
        unsigned int    hor_phase0_coef1 : 10  ; /* [25:16] */
        unsigned int    rsv_17           : 6  ; /* [15:10] */
        unsigned int    hor_phase0_coef0 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE0_COEF01;

/* Define the union U_HOR_PHASE0_COEF23 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_18           : 6  ; /* [31:26] */
        unsigned int    hor_phase0_coef3 : 10  ; /* [25:16] */
        unsigned int    rsv_19           : 6  ; /* [15:10] */
        unsigned int    hor_phase0_coef2 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE0_COEF23;

/* Define the union U_HOR_PHASE0_COEF45 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_20           : 6  ; /* [31:26] */
        unsigned int    hor_phase0_coef5 : 10  ; /* [25:16] */
        unsigned int    rsv_21           : 6  ; /* [15:10] */
        unsigned int    hor_phase0_coef4 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE0_COEF45;

/* Define the union U_HOR_PHASE0_COEF67 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_22           : 6  ; /* [31:26] */
        unsigned int    hor_phase0_coef7 : 10  ; /* [25:16] */
        unsigned int    rsv_23           : 6  ; /* [15:10] */
        unsigned int    hor_phase0_coef6 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE0_COEF67;

/* Define the union U_HOR_PHASE2_COEF01 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_24           : 6  ; /* [31:26] */
        unsigned int    hor_phase2_coef1 : 10  ; /* [25:16] */
        unsigned int    rsv_25           : 6  ; /* [15:10] */
        unsigned int    hor_phase2_coef0 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE2_COEF01;

/* Define the union U_HOR_PHASE2_COEF23 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_26           : 6  ; /* [31:26] */
        unsigned int    hor_phase2_coef3 : 10  ; /* [25:16] */
        unsigned int    rsv_27           : 6  ; /* [15:10] */
        unsigned int    hor_phase2_coef2 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE2_COEF23;

/* Define the union U_HOR_PHASE2_COEF45 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_28           : 6  ; /* [31:26] */
        unsigned int    hor_phase2_coef5 : 10  ; /* [25:16] */
        unsigned int    rsv_29           : 6  ; /* [15:10] */
        unsigned int    hor_phase2_coef4 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE2_COEF45;

/* Define the union U_HOR_PHASE2_COEF67 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_30           : 6  ; /* [31:26] */
        unsigned int    hor_phase2_coef7 : 10  ; /* [25:16] */
        unsigned int    rsv_31           : 6  ; /* [15:10] */
        unsigned int    hor_phase2_coef6 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HOR_PHASE2_COEF67;

/* Define the union U_VER_PHASE0_COEF01 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_32           : 6  ; /* [31:26] */
        unsigned int    ver_phase0_coef1 : 10  ; /* [25:16] */
        unsigned int    rsv_33           : 6  ; /* [15:10] */
        unsigned int    ver_phase0_coef0 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_VER_PHASE0_COEF01;

/* Define the union U_VER_PHASE0_COEF23 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_34           : 6  ; /* [31:26] */
        unsigned int    ver_phase0_coef3 : 10  ; /* [25:16] */
        unsigned int    rsv_35           : 6  ; /* [15:10] */
        unsigned int    ver_phase0_coef2 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_VER_PHASE0_COEF23;

/* Define the union U_VER_PHASE2_COEF01 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_36           : 6  ; /* [31:26] */
        unsigned int    ver_phase2_coef1 : 10  ; /* [25:16] */
        unsigned int    rsv_37           : 6  ; /* [15:10] */
        unsigned int    ver_phase2_coef0 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_VER_PHASE2_COEF01;

/* Define the union U_VER_PHASE2_COEF23 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_38           : 6  ; /* [31:26] */
        unsigned int    ver_phase2_coef3 : 10  ; /* [25:16] */
        unsigned int    rsv_39           : 6  ; /* [15:10] */
        unsigned int    ver_phase2_coef2 : 10  ; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_VER_PHASE2_COEF23;

/* Define the union U_CSC_IN_DC_COEF */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_40          : 3  ; /* [31:29] */
        unsigned int    csc_in_dc_coef2 : 9  ; /* [28:20] */
        unsigned int    rsv_41          : 1  ; /* [19] */
        unsigned int    csc_in_dc_coef1 : 9  ; /* [18:10] */
        unsigned int    rsv_42          : 1  ; /* [9] */
        unsigned int    csc_in_dc_coef0 : 9  ; /* [8:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_IN_DC_COEF;

/* Define the union U_CSC_OUT_DC_COEF */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_43           : 3  ; /* [31:29] */
        unsigned int    csc_out_dc_coef2 : 9  ; /* [28:20] */
        unsigned int    rsv_44           : 1  ; /* [19] */
        unsigned int    csc_out_dc_coef1 : 9  ; /* [18:10] */
        unsigned int    rsv_45           : 1  ; /* [9] */
        unsigned int    csc_out_dc_coef0 : 9  ; /* [8:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_OUT_DC_COEF;

/* Define the union U_CSC_TRANS_COEF0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_46   : 1  ; /* [31] */
        unsigned int    csc_p_01 : 15  ; /* [30:16] */
        unsigned int    rsv_47   : 1  ; /* [15] */
        unsigned int    csc_p_00 : 15  ; /* [14:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_TRANS_COEF0;

/* Define the union U_CSC_TRANS_COEF1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_48   : 1  ; /* [31] */
        unsigned int    csc_p_10 : 15  ; /* [30:16] */
        unsigned int    rsv_49   : 1  ; /* [15] */
        unsigned int    csc_p_02 : 15  ; /* [14:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_TRANS_COEF1;

/* Define the union U_CSC_TRANS_COEF2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_50   : 1  ; /* [31] */
        unsigned int    csc_p_12 : 15  ; /* [30:16] */
        unsigned int    rsv_51   : 1  ; /* [15] */
        unsigned int    csc_p_11 : 15  ; /* [14:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_TRANS_COEF2;

/* Define the union U_CSC_TRANS_COEF3 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_52   : 1  ; /* [31] */
        unsigned int    csc_p_21 : 15  ; /* [30:16] */
        unsigned int    rsv_53   : 1  ; /* [15] */
        unsigned int    csc_p_20 : 15  ; /* [14:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_TRANS_COEF3;

/* Define the union U_CSC_TRANS_COEF4 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_54   : 17  ; /* [31:15] */
        unsigned int    csc_p_22 : 15  ; /* [14:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CSC_TRANS_COEF4;

/* Define the union U_QUANT_TABLE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_55  : 8  ; /* [31:24] */
        unsigned int    qtab_cr : 8  ; /* [23:16] */
        unsigned int    qtab_cb : 8  ; /* [15:8] */
        unsigned int    qtab_y  : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_QUANT_TABLE;

/* Define the union U_HDC_TABLE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_56 : 8  ; /* [31:24] */
        unsigned int    hdc_ch : 12  ; /* [23:12] */
        unsigned int    hdc_lu : 12  ; /* [11:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HDC_TABLE;

/* Define the union U_HAC_MIN_TABLE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    hac_ch_mincode_odd  : 8  ; /* [31:24] */
        unsigned int    hac_ch_mincode_even : 8  ; /* [23:16] */
        unsigned int    hac_lu_mincode_odd  : 8  ; /* [15:8] */
        unsigned int    hac_lu_mincode_even : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HAC_MIN_TABLE;

/* Define the union U_HAC_BASE_TABLE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    hac_ch_base_odd  : 8  ; /* [31:24] */
        unsigned int    hac_ch_base_even : 8  ; /* [23:16] */
        unsigned int    hac_lu_base_odd  : 8  ; /* [15:8] */
        unsigned int    hac_lu_base_even : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HAC_BASE_TABLE;

/* Define the union U_HAC_SYMBOL_TABLE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_57 : 16  ; /* [31:16] */
        unsigned int    rs_ch  : 8  ; /* [15:8] */
        unsigned int    rs_lu  : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_HAC_SYMBOL_TABLE;

/* Define the union U_DEBUG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    debug_info : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DEBUG;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_JPEG_DEC_START     JPEG_DEC_START        ; /* 0 */
    volatile U_PREFTCH_CTRL       PREFTCH_CTRL          ; /* 4 */
    volatile U_FRAME_SIZE         FRAME_SIZE            ; /* 10 */
    volatile U_CROP_HORIZONTAL    CROP_HORIZONTAL       ; /* 14 */
    volatile U_CROP_VERTICAL      CROP_VERTICAL         ; /* 18 */
    volatile U_BITSTREAMS_START_H BITSTREAMS_START_H    ; /* 20 */
    volatile U_BITSTREAMS_START_L BITSTREAMS_START_L    ; /* 24 */
    volatile U_BITSTREAMS_END_H   BITSTREAMS_END_H      ; /* 28 */
    volatile U_BITSTREAMS_END_L   BITSTREAMS_END_L      ; /* 2C */
    volatile U_FRAME_START_Y      FRAME_START_Y         ; /* 30 */
    volatile U_FRAME_STRIDE_Y     FRAME_STRIDE_Y        ; /* 34 */
    volatile U_FRAME_START_C      FRAME_START_C         ; /* 38 */
    volatile U_FRAME_STRIDE_C     FRAME_STRIDE_C        ; /* 3C */
    volatile U_LBUF_START_ADDR    LBUF_START_ADDR       ; /* 40 */
    volatile U_OUTPUT_TYPE        OUTPUT_TYPE           ; /* 50 */
    volatile U_FREQ_SCALE         FREQ_SCALE            ; /* 54 */
    volatile U_MIDDLE_FILTER      MIDDLE_FILTER         ; /* 58 */
    volatile U_SAMPLING_FACTOR    SAMPLING_FACTOR       ; /* 5C */
    volatile U_DRI                DRI                   ; /* 60 */
    volatile U_OVER_TIME_THD      OVER_TIME_THD         ; /* 70 */
    volatile U_HOR_PHASE0_COEF01  HOR_PHASE0_COEF01     ; /* 80 */
    volatile U_HOR_PHASE0_COEF23  HOR_PHASE0_COEF23     ; /* 84 */
    volatile U_HOR_PHASE0_COEF45  HOR_PHASE0_COEF45     ; /* 88 */
    volatile U_HOR_PHASE0_COEF67  HOR_PHASE0_COEF67     ; /* 8C */
    volatile U_HOR_PHASE2_COEF01  HOR_PHASE2_COEF01     ; /* 90 */
    volatile U_HOR_PHASE2_COEF23  HOR_PHASE2_COEF23     ; /* 94 */
    volatile U_HOR_PHASE2_COEF45  HOR_PHASE2_COEF45     ; /* 98 */
    volatile U_HOR_PHASE2_COEF67  HOR_PHASE2_COEF67     ; /* 9C */
    volatile U_VER_PHASE0_COEF01  VER_PHASE0_COEF01     ; /* A0 */
    volatile U_VER_PHASE0_COEF23  VER_PHASE0_COEF23     ; /* A4 */
    volatile U_VER_PHASE2_COEF01  VER_PHASE2_COEF01     ; /* A8 */
    volatile U_VER_PHASE2_COEF23  VER_PHASE2_COEF23     ; /* AC */
    volatile U_CSC_IN_DC_COEF     CSC_IN_DC_COEF        ; /* B0 */
    volatile U_CSC_OUT_DC_COEF    CSC_OUT_DC_COEF       ; /* B4 */
    volatile U_CSC_TRANS_COEF0    CSC_TRANS_COEF0       ; /* B8 */
    volatile U_CSC_TRANS_COEF1    CSC_TRANS_COEF1       ; /* BC */
    volatile U_CSC_TRANS_COEF2    CSC_TRANS_COEF2       ; /* C0 */
    volatile U_CSC_TRANS_COEF3    CSC_TRANS_COEF3       ; /* C4 */
    volatile U_CSC_TRANS_COEF4    CSC_TRANS_COEF4       ; /* C8 */
    volatile U_QUANT_TABLE        QUANT_TABLE[64]       ; /* 200 */
    volatile U_HDC_TABLE          HDC_TABLE[12]         ; /* 300 */
    volatile U_HAC_MIN_TABLE      HAC_MIN_TABLE[8]      ; /* 340 */
    volatile U_HAC_BASE_TABLE     HAC_BASE_TABLE[8]     ; /* 380 */
    volatile U_HAC_SYMBOL_TABLE   HAC_SYMBOL_TABLE[176] ; /* 400 */
    volatile U_DEBUG              DEBUG[16]             ; /* 800 */

} S_jpgd_cfg_REGS_TYPE;

/* Declare the struct pointor of the module jpgd_cfg */
extern volatile S_jpgd_cfg_REGS_TYPE *gopjpgd_cfgAllReg;

/* Declare the functions that set the member value */
int iSetJPEG_DEC_START_ck_gt_en(unsigned int uck_gt_en);
int iSetJPEG_DEC_START_decode_start(unsigned int udecode_start);
int iSetPREFTCH_CTRL_prefetch_delay(unsigned int uprefetch_delay);
int iSetPREFTCH_CTRL_prefetch_bypass(unsigned int uprefetch_bypass);
int iSetFRAME_SIZE_pix_height(unsigned int upix_height);
int iSetFRAME_SIZE_pix_width(unsigned int upix_width);
int iSetCROP_HORIZONTAL_pix_end_hor(unsigned int upix_end_hor);
int iSetCROP_HORIZONTAL_pix_start_hor(unsigned int upix_start_hor);
int iSetCROP_VERTICAL_pix_end_ver(unsigned int upix_end_ver);
int iSetCROP_VERTICAL_pix_start_ver(unsigned int upix_start_ver);
int iSetBITSTREAMS_START_H_bitstr_start_addr_34(unsigned int ubitstr_start_addr_34);
int iSetBITSTREAMS_START_L_bitstr_start_addr_32(unsigned int ubitstr_start_addr_32);
int iSetBITSTREAMS_END_H_bitstr_end_addr_34(unsigned int ubitstr_end_addr_34);
int iSetBITSTREAMS_END_L_bitstr_end_addr_32(unsigned int ubitstr_end_addr_32);
int iSetFRAME_START_Y_start_addr_y(unsigned int ustart_addr_y);
int iSetFRAME_STRIDE_Y_last_page_y(unsigned int ulast_page_y);
int iSetFRAME_STRIDE_Y_stride_y(unsigned int ustride_y);
int iSetFRAME_START_C_start_addr_c(unsigned int ustart_addr_c);
int iSetFRAME_STRIDE_C_last_page_c(unsigned int ulast_page_c);
int iSetFRAME_STRIDE_C_stride_c(unsigned int ustride_c);
int iSetLBUF_START_ADDR_start_addr_lb(unsigned int ustart_addr_lb);
int iSetOUTPUT_TYPE_rgb_alpha(unsigned int urgb_alpha);
int iSetOUTPUT_TYPE_uv_swap(unsigned int uuv_swap);
int iSetOUTPUT_TYPE_output_type(unsigned int uoutput_type);
int iSetFREQ_SCALE_freq_scale(unsigned int ufreq_scale);
int iSetMIDDLE_FILTER_ver_mid_en(unsigned int uver_mid_en);
int iSetMIDDLE_FILTER_hor_mid_en(unsigned int uhor_mid_en);
int iSetSAMPLING_FACTOR_y_fac(unsigned int uy_fac);
int iSetSAMPLING_FACTOR_u_fac(unsigned int uu_fac);
int iSetSAMPLING_FACTOR_v_fac(unsigned int uv_fac);
int iSetDRI_dri(unsigned int udri);
int iSetOVER_TIME_THD_over_time_thr(unsigned int uover_time_thr);
int iSetHOR_PHASE0_COEF01_hor_phase0_coef1(unsigned int uhor_phase0_coef1);
int iSetHOR_PHASE0_COEF01_hor_phase0_coef0(unsigned int uhor_phase0_coef0);
int iSetHOR_PHASE0_COEF23_hor_phase0_coef3(unsigned int uhor_phase0_coef3);
int iSetHOR_PHASE0_COEF23_hor_phase0_coef2(unsigned int uhor_phase0_coef2);
int iSetHOR_PHASE0_COEF45_hor_phase0_coef5(unsigned int uhor_phase0_coef5);
int iSetHOR_PHASE0_COEF45_hor_phase0_coef4(unsigned int uhor_phase0_coef4);
int iSetHOR_PHASE0_COEF67_hor_phase0_coef7(unsigned int uhor_phase0_coef7);
int iSetHOR_PHASE0_COEF67_hor_phase0_coef6(unsigned int uhor_phase0_coef6);
int iSetHOR_PHASE2_COEF01_hor_phase2_coef1(unsigned int uhor_phase2_coef1);
int iSetHOR_PHASE2_COEF01_hor_phase2_coef0(unsigned int uhor_phase2_coef0);
int iSetHOR_PHASE2_COEF23_hor_phase2_coef3(unsigned int uhor_phase2_coef3);
int iSetHOR_PHASE2_COEF23_hor_phase2_coef2(unsigned int uhor_phase2_coef2);
int iSetHOR_PHASE2_COEF45_hor_phase2_coef5(unsigned int uhor_phase2_coef5);
int iSetHOR_PHASE2_COEF45_hor_phase2_coef4(unsigned int uhor_phase2_coef4);
int iSetHOR_PHASE2_COEF67_hor_phase2_coef7(unsigned int uhor_phase2_coef7);
int iSetHOR_PHASE2_COEF67_hor_phase2_coef6(unsigned int uhor_phase2_coef6);
int iSetVER_PHASE0_COEF01_ver_phase0_coef1(unsigned int uver_phase0_coef1);
int iSetVER_PHASE0_COEF01_ver_phase0_coef0(unsigned int uver_phase0_coef0);
int iSetVER_PHASE0_COEF23_ver_phase0_coef3(unsigned int uver_phase0_coef3);
int iSetVER_PHASE0_COEF23_ver_phase0_coef2(unsigned int uver_phase0_coef2);
int iSetVER_PHASE2_COEF01_ver_phase2_coef1(unsigned int uver_phase2_coef1);
int iSetVER_PHASE2_COEF01_ver_phase2_coef0(unsigned int uver_phase2_coef0);
int iSetVER_PHASE2_COEF23_ver_phase2_coef3(unsigned int uver_phase2_coef3);
int iSetVER_PHASE2_COEF23_ver_phase2_coef2(unsigned int uver_phase2_coef2);
int iSetCSC_IN_DC_COEF_csc_in_dc_coef2(unsigned int ucsc_in_dc_coef2);
int iSetCSC_IN_DC_COEF_csc_in_dc_coef1(unsigned int ucsc_in_dc_coef1);
int iSetCSC_IN_DC_COEF_csc_in_dc_coef0(unsigned int ucsc_in_dc_coef0);
int iSetCSC_OUT_DC_COEF_csc_out_dc_coef2(unsigned int ucsc_out_dc_coef2);
int iSetCSC_OUT_DC_COEF_csc_out_dc_coef1(unsigned int ucsc_out_dc_coef1);
int iSetCSC_OUT_DC_COEF_csc_out_dc_coef0(unsigned int ucsc_out_dc_coef0);
int iSetCSC_TRANS_COEF0_csc_p_01(unsigned int ucsc_p_01);
int iSetCSC_TRANS_COEF0_csc_p_00(unsigned int ucsc_p_00);
int iSetCSC_TRANS_COEF1_csc_p_10(unsigned int ucsc_p_10);
int iSetCSC_TRANS_COEF1_csc_p_02(unsigned int ucsc_p_02);
int iSetCSC_TRANS_COEF2_csc_p_12(unsigned int ucsc_p_12);
int iSetCSC_TRANS_COEF2_csc_p_11(unsigned int ucsc_p_11);
int iSetCSC_TRANS_COEF3_csc_p_21(unsigned int ucsc_p_21);
int iSetCSC_TRANS_COEF3_csc_p_20(unsigned int ucsc_p_20);
int iSetCSC_TRANS_COEF4_csc_p_22(unsigned int ucsc_p_22);
int iSetQUANT_TABLE_qtab_cr(unsigned int uqtab_cr);
int iSetQUANT_TABLE_qtab_cb(unsigned int uqtab_cb);
int iSetQUANT_TABLE_qtab_y(unsigned int uqtab_y);
int iSetHDC_TABLE_hdc_ch(unsigned int uhdc_ch);
int iSetHDC_TABLE_hdc_lu(unsigned int uhdc_lu);
int iSetHAC_MIN_TABLE_hac_ch_mincode_odd(unsigned int uhac_ch_mincode_odd);
int iSetHAC_MIN_TABLE_hac_ch_mincode_even(unsigned int uhac_ch_mincode_even);
int iSetHAC_MIN_TABLE_hac_lu_mincode_odd(unsigned int uhac_lu_mincode_odd);
int iSetHAC_MIN_TABLE_hac_lu_mincode_even(unsigned int uhac_lu_mincode_even);
int iSetHAC_BASE_TABLE_hac_ch_base_odd(unsigned int uhac_ch_base_odd);
int iSetHAC_BASE_TABLE_hac_ch_base_even(unsigned int uhac_ch_base_even);
int iSetHAC_BASE_TABLE_hac_lu_base_odd(unsigned int uhac_lu_base_odd);
int iSetHAC_BASE_TABLE_hac_lu_base_even(unsigned int uhac_lu_base_even);
int iSetHAC_SYMBOL_TABLE_rs_ch(unsigned int urs_ch);
int iSetHAC_SYMBOL_TABLE_rs_lu(unsigned int urs_lu);
int iSetDEBUG_debug_info(unsigned int udebug_info);

#endif // __JPGD_CFG_C_UNION_DEFINE_H__
